textbuffer: ensure user actions are propagated to history
authorChristian Hergert <chergert@redhat.com>
Wed, 26 May 2021 17:11:33 +0000 (10:11 -0700)
committerChristian Hergert <chergert@redhat.com>
Wed, 26 May 2021 17:11:33 +0000 (10:11 -0700)
This was an oversight when porting the GtkTextHistory into GTK. We simply
need to bind the GtkTextBuffer action into the text history for grouping
to work correctly.

Fixes #3977

gtk/gtktextbuffer.c

index 907955a64cb6c983c7f59fc332a71e4998dfcbe0..83fc009812d89ec62aed113fb3c0e1ba7f9c9603 100644 (file)
@@ -4260,6 +4260,7 @@ gtk_text_buffer_begin_user_action (GtkTextBuffer *buffer)
   if (buffer->priv->user_action_count == 1)
     {
       /* Outermost nested user action begin emits the signal */
+      gtk_text_history_begin_user_action (buffer->priv->history);
       g_signal_emit (buffer, signals[BEGIN_USER_ACTION], 0);
     }
 }
@@ -4286,6 +4287,7 @@ gtk_text_buffer_end_user_action (GtkTextBuffer *buffer)
     {
       /* Ended the outermost-nested user action end, so emit the signal */
       g_signal_emit (buffer, signals[END_USER_ACTION], 0);
+      gtk_text_history_end_user_action (buffer->priv->history);
     }
 }